﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include<string.h>
//输入描述：
//一行，包括两个整数a和b，依次为被除数和除数（不为零），中间用空格隔开。
//输出描述：
//一行，包含两个整数，依次为整数商和余数，中间用一个空格隔开。
//int main() {
//    int a = 0;
//    int b = 0;
//    scanf("%d %d", &a, &b);
//    if (a > 0 && b < 10000)
//    {
//        int c = a / b;
//        int d = a % b;
//        printf("%d %d", c, d);
//    }
//    return 0;
//}

//描述
//据说智商140以上者称为天才，KiKi想知道他自己是不是天才，请帮他编程判断。输入一个整数表示一个人的智商，如果大于等于140，则表明他是一个天才，输出“Genius”。
//输入描述：
//多组输入，每行输入包括一个整数表示的智商。
//输出描述：
//针对每行输入，输出“Genius”。
//int main() {
//    int iq = 0;
//    while (scanf("%d", &iq) != EOF)
//    {
//        if (iq >= 140)
//        {
//            printf("Genius\n");
//        }
//    }
//    return 0;
//}

//描述
//KiKi想知道从键盘输入的两个数的大小关系，请编程实现。
//输入描述：
//题目有多组输入数据，每一行输入两个整数（范围 - 231~231 - 1），用空格分隔。
//输出描述：
//针对每行输入，输出两个整数及其大小关系，数字和关系运算符之间没有空格，详见输入输出样例。
//int main() {
//    int a = 0;
//    int b = 0;
//    while (scanf("%d %d", &a, &b) == 2)
//    {
//        if (a == b)
//        {
//            printf("%d=%d\n", a, b);
//        }
//        else if (a > b)
//        {
//            printf("%d>%d\n", a, b);
//        }
//        else
//        {
//            printf("%d<%d\n", a, b);
//        }
//
//    }
//    return 0;
//}

//描述
//判断一个整数是否能5整除是一个挺简单的问题，懒惰的KiKi还是不想自己做，于是找到你帮他写代码，你就帮帮他吧。
//输入描述：
//输入包括一个整数M（1≤M≤100, 000）。
//输出描述：
//输出包括一行，如果M可以被5整除就输出YES，否则输出NO（结果大小写敏感）。
//int main() {
//    int M = 0;
//    while (scanf("%d", &M) == 1 && M >= 1 && M <= 100000)
//    {
//        if (M % 5 == 0)
//        {
//            printf("YES\n");
//        }
//        else
//        {
//            printf("NO\n");
//        }
//    }
//    return 0;
//}

//描述
//KiKi学习了循环，BoBo老师给他出了一系列打印图案的练习，该任务是打印用“* ”组成的线段图案。
//输入描述：
//多组输入，一个整数（1~100），表示线段长度，即“ * ”的数量。
//输出描述：
//针对每行输入，输出占一行，用“ * ”组成的对应长度的线段。
//int main() {
//    int a = 0;
//    while (scanf("%d", &a) == 1)
//    {
//        for (int i = 0;i < a;i++)
//        {
//            printf("*");
//        }
//        printf("\n");
//    }
//    return 0;
//}

//写一个代码打印1 - 100之间所有3的倍数的数字
//int main()
//{
//	int i = 0;
//	for (i = 1;i <= 100;i++)
//	{
//		if (i % 3 == 0)
//		{
//			printf("%d\n", i);
//		}
//	}
//	return 0;
//}

//写代码将三个整数数按从大到小输出。
//例如：
//输入：2 3 1
//输出：3 2 1
//int main()
//{
//	int a = 0;
//	int b = 0;
//	int c = 0;
//	int temp = 0;
//	scanf("%d %d %d", &a, &b, &c);
//	if (a > b);
//	else
//	{
//		temp = a;
//		a = b;
//		b = temp;
//	}
//	if (c > a)
//		printf("%d %d %d", c, a, b);
//	else
//		if (b > c)
//			printf("%d %d %d", a, b, c);
//		else
//			printf("%d %d %d", a, c, b);
//	return 0;
//}

//int main()
//{
//	int a = 0;
//	int b = 0;
//	int c = 0;
//	int temp = 0;
//	int d=scanf("%d %d %d", &a, &b, &c);
//	if (a < b)
//	{
//		temp = a;
//		a = b;
//		b = temp;
//	}
//	if (a < c)
//	{
//		temp = a;
//		a = c;
//		c = temp;
//	}
//	if (b < c)
//	{
//		temp = b;
//		b = c;
//		c = temp;
//	}
//	printf("%d %d %d", a, b, c);
//	return 0;
//}

//printf函数
//int main()
//{
//	float a = 1.1249856;//小数为double类型，要变为float则在小数后加一个f
//	float b = 1.45f;
//	int c = 123456;
//	printf("%10d\n", c);//10代表占位符最小宽度，向右对齐打印"    123456"
//	printf("%-10d\n", c);//       负号代表      向左对齐打印"123456    "
//	printf("%4d\n", c);//超过最小宽度结果不受影响
//	printf("%-5dxxxx\n", 123);//打印"123  xxxx"
//	printf("%f\n", a);//默认保留6位小数，且四舍五入
//	printf("%f\n", 1.12);
//	printf("%lf\n", 1.12);
//	printf("%.4f\n", 1.123456);//4代表四舍五入保留4位小数
//	printf("%10f\n", 1.123456);//10代表最小宽度为10，且向右对齐  
//	printf("%10.4f\n", 1.123456);//10.4代表二者结合
//	printf("%*.*f\n", 6, 3, 1.12);//第一个*代表参数6，第二个*代表参数3，打印" 1.120"
//	printf("%*.*f\n", 6, 1, 1.12);//                                    打印"   1.1"
//
//	printf("%d\n", 123);//123    %d不会打印+号
//	printf("%d\n", -123);//-123
//	printf("%+d\n", 123);//+123  %+d则会打入+号
//	printf("%+d\n", -123);//123
//
//	printf("%s\n", "abcdefg");
//	printf("%10.3s\n", "abcdefg");//同理
//	return 0;
//}

//scanf函数
//int main()
//{
//	//int score = 0;
//	//printf("请输入成绩：");
//	//scanf("%d", &score);//&取地址符，取出score的地址
//	//printf("成绩是：%d", score);
//
//	int a = 0;
//	int b = 0;
//	float f1 = 0.0f;
//	float f2 = 0.0f;
//	scanf("%d%d%f%f", &a, &b, &f1, &f2);//scanf会自动过滤空白符包括空格，制表符，换行(Enter),遇到\n直接结束
//	//如果用户输入"   11 12.145f"  scanf依次扫描11放进a中，再扫描12后遇到小数点停止(因为整形)放进b中，
//	//再扫描.145输出0.145000放入f2中，最后扫描f不符合要求停止扫描，f2=0.000000，程序结束
//	//"   -13 11.45e12# 0" a=-13 b=11 c=449999994880.000000(有精度损失) dd=0.000000
//	printf("%d %d %f %f\n", a, b, f1, f2);
//	return 0;
//}

//int main()
//{
//	int a = 0;
//	int b = 0;
//	scanf("%d,%d", &a, &b);//输入"11,22" 打印a=11 b=22  输入"11 22" 打印a=11 b=0(,保持对应)
//	printf("a=%d b=%d", a, b);
//	return 0;
//}

//int main()
//{
//	int a = 0;
//	int b = 0;
//	int c = 0;
//	int d = 0;
//	int ret = 0;
//	ret=scanf("%d %d %d %d", &a, &b, &c, &d);//scanf()返回值是一个整数，表示scanf成功读取变量的个数，
//	//成功读取多少个变量则scanf返回的值就是多少，如果没有读取任何项或者匹配失败则返回0
//	//如果在成功读取任何数据之前，发⽣了读取错误或者遇到读取到⽂件结尾，则返回常量EOF(-1)，EOF---end of file(文件结束标志)
//	//在VS环境中按3次 ctrl+z ，才结束了输⼊,返回-1
//	printf("a=%d b=%d c=%d d=%d ret=%d", a, b, c, d, ret);
//	return 0;
//}

//int main()
//{
//	char ch = '\0';//除了%c以外，都会自动忽略起首的空白字符，因为空白字符也是字符
//	//scanf("%c", &ch);
//	//printf("xxxxx%cxxxx\n", ch);
//	scanf(" %c", &ch);//如果要强制跳过空白字符则在%c之前稼一个空格scanf(" %c", &ch)
//	printf("xxxxx%cxxxx\n", ch);//
//	return 0;
//}

//int main()
//{
//	char arr[20] = { 0 };//arr是数组名数组名是地址，不用取地址符
//	scanf("%s", arr);//占位符%s，它其实不能简单地等同于字符串。它的规则是，从当前第⼀个⾮空⽩字符开始读起，
//    //直到遇到空⽩字符（即空格、换⾏符、制表符等）为⽌。
//	/*因为% s 不会包含空⽩字符，所以⽆法⽤来读取多个单词，除⾮多个%s⼀起使⽤。这也意味着，
//    scanf() 不适合读取可能包含空格的字符串，⽐如书名或歌曲名。另外，scanf()遇到%s占位符，
//	会在字符串变量末尾存储⼀个空字符 \0 。*/
//	printf("%s", arr);
//	return 0;
//}

//int main()
//{
//	char arr1[] = "abcd";
//	char arr2[] = { 'a','b','c','d' };
//	int a = strlen(arr1);
//	printf("a = % d\n", a);//输出4 原因arr={'a','b','c','d','\0'},遇\0则停止
//	int b = sizeof(arr1);
//	printf("b = % d\n", b);//输出5 原因arr={'a','b','c','d'.'\0'}
//	int c = sizeof(arr2);
//	printf("c = % d\n", c);//输出4  
//	printf("%c\n", arr1[4]);
//	char a = '\130';
//	printf("%c\n", a);
//	return 0;
//}

//int main()
//{
//	char a[10] = { 0 };
//	scanf("%5s", a);//输入遇到空格就停止，5代表输入只取前5个放入a中
//	printf("%s\n", a);
//	return 0;
//}

//int main()
//{
//	int year = 0;
//	int month = 0;
//	int day = 0;
//	scanf("%d-%d-%d", &year, &month, &day);//按格式打印2024-4-1
//	scanf("%d%*c%d%*c%d", &year, &month, &day);//%*c表示忽略一个字符，以免扫描失败
//	printf("%d-%d-%d", year, month, day);
//	return 0;
//}

//编写程序代码，模拟用户登入情况，并且只能登入三次，
//只允许输入三次密码，如果密码正确则提示登入成功，如果三次均输入错误，则退出程序
//int main()
//{
//	int i = 0;
//	char password[20] = { 0 };
//	//假设密码是字符串：abcdef
//	for (i = 0;i < 3;i++)
//	{
//		printf("请输入第%d次密码:",i+1);
//		scanf("%s", password);
//		if (strcmp(password, "abcdef") == 0)//比较两个字符串不能用==,可以使用一个库函数strcmp,若返回值为0，
//			                                //则两个字符串相等，strcmp在<string.h>这个头文件中
//		{
//			printf("登入成功！");
//			break;
//		}
//	}
//	if (3 == i)
//	{
//		printf("三次密码均错误，退出程序\n");
//	}
//	return 0;
//}